Add SlidePanelView and a demo (demos/slidingpanels.html)

This controller expects two subviews and probably their minimum widths.
It can inherit their minimum widths from their getComputedStyle if
necessary, but specifying is more robust.

If there's enough room for both views side by side, it will show both.
Their sizes will be based on their minimum widths and the optional
panelRatio parameter, which defaults to 0.5.

If there is not enough room, only a bit of the panel is shown (how much
is defined by stripWidth, default 30 CSS pixels). It can then be dragged
out by touch or mouse. The panel will rest at any position; it does not
snap to place.

As the view grows wider, the panel resizes smoothly until there's room
for the minimum widths of the main portion and panel, and then it shows
both fully expanded. When SlidePanelViews are nested, the outer ones
expand first, before the inner ones.