Merge pull request #298 from arv/fix-canvas-2d-context

Fix issue with missing instance properties on canvas context classes
Implement MutationObserver from scratch

This is an implementation of the MutationObserver without relying on
native MutationEvents nor native MutationObserver.
Cleanup test
Fix issue where inserted node did not notify old parent
Have appendChild call insertBefore
Change scope name
minor cleanups