Context menus can now handle different types and commands, as well as submenus
removed unnecessary newlines
renamed variable to make code more understandable
minor changes
updated coding style and added spec
fixes to spec
Submenus now work with old context menu structure
added separator for submenu
updated docs
docs markdown
Check for href attribute on currentTarget

This makes clicking on images wrapped in anchor tags open correctly.
:checkered_flag: Match Chrome's Settings menu item
Upgrade to release-notes@0.32
Don't resolve uris when project has not path
Always handle resolving absolute URIs
Upgrade to symbols-view@0.55
:checkered_flag: bind ctrl-alt-up-down to adding selections
Upgrade to language-hyperlink@0.10
Only compare screenRow to mouseWheelScreen row when it is defined

Fixes #2482
Compute ranges of cursors & selections in EditorComponent and pass down

Previously, SelectionsComponenet::shouldComponentUpdate was storing the
ranges for selections as a side effect. We also were passing boolean
values (cursorMoved and selectionUpdated) to determine if these
components should update.

Now, we compute a simple hash of screen ranges for selections and
cursors in the root component and pass them down. This simplifies
shouldComponentUpdate for selections and allows us to implement one
for cursors.