perf(*): use Object.create instead of creating temporary constructors

For inherit: http://jsperf.com/inherit-extend-vs-ocreate

For constructing an object without calling the constructor: http://jsperf.com/create-constructor/2
Note that caching the constructor is actually faster but I'd rather avoid the extra logic and caching. Maybe that will be done in #9772 though.