web/explain: don't reverse the order of left going lines (fixes #35)

Although visually pleasing, having the help boxes appear in left-to-right order
is more intuitive than reversing them for the sake of not having the lines
cross each other.
es.js: assign each group a constant color for the lines once the page loads

Previously, it was shuffled everytime drawgrouplines was called (e.g. via
resize()).
es.js: remember the last commandselector so we don't have to pass it into clear
es.js: allow passing options into drawgrouplines

In a future change we'd like to control whether we hide the current group help
boxes or not.
es.js: add a function to get all associated spans in #command
web/explain: stick the command to the top when scrolling (fixes #54)

We use Bootstrap's Affix plugin to fix #command to the top of the page when
scrolling. Lines are drawn only for the visible portions of the command.
es.js: simplify inview

We only really care (for now) that the middle of the given element
is inside the viewport. No need to compute the ratio.
web/explain: pass mouse events from the canvas to the underlying element

When scrolling, our stack order is:

1) canvas
2) command bar at the top
3) help table

This causes hovering in the help table to not work. 'pointer-events' is used
to delegate events to the help table.
web/explain: use a class for the help boxes
es.js: pass optional elements into optionsselector
es.js: use a different background for help boxes of a command start