Bound spec to a mounted component on update, fixes #15

Also rename Page component to PageHost component to distinguish between pages
and components which host them.