Use ContextWidget instead of toolbar inside context menu

First step in context rewrite, moving toward the context not just being a
toolbar, but also a description of what is currently selected, showing the
URL of a link, the file name of an image, the content of a reference, etc.

Changes:
* Add ContextWidget and ContextItemWidget classes
* Use ContextWidget instead of Toolbar within the context menu
* Retain the ContextWidget, only clear it's items (toolbar used to destroy each time)
* Simplify ToolFactory's getToolsForX methods into getToolsForFragment
* Add getSelectedModels to SurfaceFragment. which getToolsForFragment uses
* Handle additional cases where methods called on null fragments could cause errors
* Code cleanup in SurfaceFragment (whitespace and comments)
* Added methods to NodeFactory and AnnotationFactory to get the description of a model from a view
* Add initial descriptions for some CE nodes
* Make InspectorTool's onUpdateState handler use getSelectedModels
* Made desktop context's menu use a compensated size (since it's in the body)

Change-Id: Ia2076a4238288ca113103e9ffef8c06ff80a21a4