Make timeout more sophisticated

Now supports requestAnimationFrame and stuff
Proxy stuff to event
Remove Serenade.compile and View#compile

Instead, the regular `render` function returns a document fragment which is extended with a `remove` property. This can be called to clean up the rendered view instead. Therefore there is no need to have compile as a separate mechanism at all.
Refactor view implementation, no longer needs CompiledView class
Make Serenade.views and Serenade.controllers public