Fix IE8 problems

- Refactor out Object.create
- Wrap non-function con methods as functions and check for .apply method

Tested with IE8 on Windows XP virtual machine.