enhancement(grid menu): refactor col menu, implement grid menu

Implement #1676 grid menu.  Also addresses #1648 and #1631, moving the
ng-hide from the menu inner to the menu.

Substantial refactor of column menu and grid menu.  Removed most of the
show/hide logic from column menu, rely on the functionality within
grid menu.  Moved to use a more-angular animate, which I'm not 100% is
working, but it looks the same as it did before on the tutorial pages.

I moved the menus to use ng-if instead of ng-hide.  When debugging the code
it became apparent to me that each menu item was being evaluated individually
every time the grid scrolled, which seemed like excess load for no reason.  By
moving to ng-if the elements are only in the DOM when someone actually clicks
the menu.  It seemed to make scrolling smoother, but I might have just wanted
to believe that.

New grid menu tutorial.

Modified exporter to insert options into grid menu, and added options to control
what is inserted.
Merge pull request #1710 from PaulL1/grid_menu_final

enhancement(grid menu): refactor col menu, implement grid menu