Ensure components init once (#943)

Until we resolve and implement #927, this makes `init` fire only once on a component. Otherwise there is no way to attach observes and subscribe to events without implementing some init test in each implementation.

`complete` still fires on every render.