Only save/restore height once when scrolling up.

This is a fairly sizeable performance improvement since computing the
scroll height involves layout and styling and a bunch of other stuff.
Only save/restore height once when scrolling down.

This breaks `<` in some way that I can't quite identify yet.
(Mostly) fix goto-start.

There's still some weirdness where it doesn't scroll *all the way* to
the start.
Be smarter about div layout to avoid repaints.

This is related to #61 and technically fixes it, but it leads to
significantly reduced performance when scrolling and triggering loads. I
don't know why.
Flexbox based pane layout solution. Still laggy.
Merge branch 'compositing' into better-scrolling

Fixes #61.
Disable inertial 'overscrolling' on OS X.
Properly set up flexbox ordering.

Compose/filter bars are no longer absolutely positioned. Fixes #54.
Fix 'padding' at bottom of message pane.
Redo the pane layout to use flexbox.

This makes it actually *work* again and lets us get rid of a bunch of
width-recalculation code.
Go back to absolutely-positioned bars.

This breaks #54 again but there are lots of reasons to prefer absolute
positioning for the bars (we don't need to resize the inner message pane
div, we can 'fade out' bars to show messages underneath, etc.).
Hide the message pane scrollbar in IE and WebKit.

See #54.
Fix scrolling up while loading cached messages.
Merge branch 'roost-2-init' into compositing

Conflicts:
	app/coffee/model/RoostSession.coffee
	app/coffee/view/MessagePane.coffee
Fix case where the screen is narrower than 600px.