Invert dependencies for OutlineItemWidget and PageLayout

Problem:
* Properties for OutlineItemWidget were being set at instantiation in
  the page and then copied over though getters, making it a one-way trip
  and a lot of messy maintenance when adding new features
* BookletOutlineItemWidget was superfluous since it only copied page
  properties and didn't even keep a reference to the page
* OutlineItemWidget movability property was not settable
* OutlineItemWidget was not flaggable, so additional styling was
  difficult or impossible

Solution:
* Add missing movability setter to OutlineItemWidget
* Mix FlaggableWidget into OutlineItemWidget
* Remove BookletOutlineItemWidget
* Add some basic flag styles to OutlineItemWidget
* Remove OutlineItemWidget property shuffling in PageLayout
* Add methods to set, get and clear an OutlineItemWidget to PageLayout
* Adjust BookletLayout to set and clear OutlineItemWidget on PageLayout
* Fix bug in FlaggableElement which caused setting with object not to
  work

Change-Id: I58a279dd949a867a4698a791103d5a6f2bd4b67f