Component lifecycle redesigned to support server-side rendering

- `render()` method is removed
- `update()` should support rendering from initial state
- new properties `isRendered`, `isMounted`
- new method `mount(Node node)` to mount component on top of html node
- new lifecycle method `init()` that is called after `create()` or `mount()`
- new lifecycle methods `rendered()`, `updated()`, `mounted()`
- removed component auto-update from `attach()` method