Ported old performance branch

Now has an extra option for compiling an expression for object
construction, rather than just executing the constructor using reflection.

This is approximately 10x faster when the option is available.