Make outline view resizable + improve outline toggle button

Scrolling in the ouline view is out of sync
Merge remote-tracking branch 'upstream/master' into resizable-outline-and-better-button

Conflicts:
	ide/app/spark.dart
Merge remote-tracking branch 'upstream/master' into resizable-outline-and-better-button
Fix scrolling synchronization for good, supposedly
Fix typo in prev commit
Significant rewrite: single coordinate system, flat item list, no artificial scroll target
OutlineItems self-add to passed down Outline.outlineItems

Symmetry with OutlineClass adding its members + control over which items get added and in what order (important for searching in the now flat outlineItems).
Clip incorrect offset ranges for class top-node and ctor to their true sizes

As provided by Ace (?), they both span the entire class's definition (for constructors, it's likely a bug), which is not what we want when highlighting or scrolling them into view.
Remove debugging stuff
Bug fixes to commit before last
Use `anchor`, not `element`, to pull items into view
To scroll: find new item intersecting offset range, not overlapping one end of range

This deals with holes in the offset ranges of items in _outlineItems: before, if the new offset from Ace fell into a hole, scrolling wouldn't happen. Now it would scroll to the item just before or after the hole (the one that's just entered the changed offset range).
Fix: restore previous scrolled position after switching back to a file
Merge remote-tracking branch 'upstream/master' into resizable-outline-and-better-button

Conflicts:
	ide/app/spark_polymer.css
Adjust outline button's style
Merge remote-tracking branch 'upstream/master' into resizable-outline-and-better-button

Conflicts:
	ide/app/spark_polymer.css
Fix typo
Merge remote-tracking branch 'upstream/master' into resizable-outline-and-better-button
Outline button: use new icon + change colors
Merge remote-tracking branch 'upstream/master' into resizable-outline-and-better-button

Conflicts:
	ide/app/lib/outline.dart
	ide/app/spark_polymer.html