moved getWidget to CloudCoderPage, added public setWidget

This allows CloudCoder (the entry point class which manages
the internal navigation between pages) to set an arbitrary UI
widget for a page, which is necessary for when page objects
for a directly-linked page can't be created correctly.