Improved layout window management

This changeset improves the way the layout editor handles windows. In
particular, it attempts to make the property sheet and the outline
more visible.

Specifically:
* It adds the WindowBuilder docking support, which offers several
  new features:

  (1) You can collapse and expand the palette and structure views.  If
      you hover over a collapsed palette (for example) it temporarily
      opens, and when you drag from it over to the canvas it collapses
      again.

  (2) The initial size is pixel based rather than percentage based, so
      the default palette size is more reasonable on large displays
      (it used to always take 20%, which was fine on a small screen
      but a waste on larger screens).

  (3) You can drag & drop to reconfigure the layout a bit. (This is
      fairly limited though; in particular, you cannot drag these
      views out of the editor area and mix them with Eclipse views.)

* When the property sheet view is not shown anywhere else, it is shown
  as part of the outline instead (sharing the vertical space). This
  works better for the new property sheet implementation since it
  works better as a vertical window than a horizontal window.

* When the outline is not shown anywhere else, it is shown in a new
  composite window *inside* the editor area. This mode is also entered
  when you temporarily maximize the layout editor window.

* The layout canvas is auto-fit-zoomed when you enter and exit
  maximized mode, as well as when you open or close docked windows
  within the editor.

The goal is for these changes to offer a good layout editing
experience with the outline views and property sheets *without* using
a new perspective for layout editing. Note that this is not identical
to what WindowBuilder does; they always embed both the palette and the
structure views within the editor area, which means the structure view
is typically redundant with the outline view on the right unless you
maximize the view. With the approach above hopefully we'll avoid that
case and you'll always see the views without redundancy (and therefore
with more available space for the layouts).

Change-Id: I0d338b2781b9732e992f088fcc4e1ba46ff0954f
17 files changed