Add page plugin model
Tweak plugin model. Expose pages() method as entry point for plugins
Add auto connect selection changed, project loaded, events to pages