Fix IE8 problems

- Refactor out Object.create
- Wrap non-function con methods as functions and check for .apply method