added new pageholder widget that holds several pages and allows switching between them. modified the Widget base object to support defining dom event handlers before a dom node is defined, applying right after one is set.