promises that aren't bluebird promises don't render correctly

When checking if datum is an instance of a Promise, it is actually checking if the promise is a bluebird promise. This isn't asserting if the promise is 'thenable', which is a more appropriate check.

My current solution is to pass in the constructor for the promise I'm using.

return await bfj.stringify(object, { Promise: OtherPromise });

https://gitlab.com/philbooth/bfj/blob/master/src/eventify.js#L143