Fixes writable/readable options and calling passed in ctor

Hi!

A small fix for writable/readable, as `options.readable || true` always sets the value `true`. 

I'm a bit more unsure about commit 7e71d46 as it broke a test, but it would seem that it is more likely to pass in "Readable" or "Writable" as superCtor?