Implements grid menus and navigation.

Squashed commit of the following:

commit 152c501df98ceac67ea218abb05029c2a66201b3
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Wed Aug 8 22:32:20 2012 -0700

    Implements row jump cycling for menus.

commit 0abcb428ef4ebfab9747e1f64d30262155e3d0f1
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Wed Aug 8 21:33:25 2012 -0700

    Refactors focusAboveButton and focusBelowButton.

commit 39a7c1767106170be5429973db5153419d686af5
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Mon Aug 6 20:25:08 2012 -0700

    Implements basic up/down button selection functionality for menus.

commit 84767c384570b9c8be0d2a3894192cd15fb734c2
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Aug 5 21:49:58 2012 -0700

    Implements focus cycling for menu buttons.

commit dcbcbec97dc83427eb2a2b05a77e613dbc2b9726
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Aug 5 21:35:12 2012 -0700

    Integrates menu button focusing with browser focus behavior.

commit ad505a93a8927eaae8ad78e7f8f1f4e225ef3b2a
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Aug 5 17:56:42 2012 -0700

    Refactors next/previous menu button selection.

commit 08b4a8729abd5e1727a71c4bdee49049c9dd4775
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Aug 5 17:49:48 2012 -0700

    Adds bounds checking for button selection.

commit 5795cbb45a1cce6cef2c1f8b3381f3ad85fe22e5
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Aug 5 17:44:36 2012 -0700

    Implements basic button selection cycling.

commit 1c763f639f69665c576a81126cf67c65518c8004
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Aug 5 17:22:05 2012 -0700

    Adds menu key routing and JSLint headers.

commit c7caf42986b688e75cdbb2fa1f72f5d56e987f75
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Aug 5 17:01:04 2012 -0700

    Adds MinPubSub and glue code for menus.

commit 4256ac5427b18a75cd3804cf26483d6ec0c763f7
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Aug 4 15:47:43 2012 -0700

    Optimizes KeyRouter a bit.

commit 92ce60e8fc4495ed81c033caba3f39d9b1c505d8
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Aug 4 15:40:50 2012 -0700

    Adds test for KeyRouter.

commit 4113ce040658aba8a94e583380b89774989e62fb
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Aug 4 14:20:31 2012 -0700

    Fixes bad symbols in pine.keyrouter.js.

commit 881cd506bf3108012480855ba6aea1d8c1154066
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Aug 4 14:09:14 2012 -0700

    Starts on pine.keyrouter.js.

commit df005497e2413fffa34d8d4f12ca43490904612c
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Aug 4 13:23:43 2012 -0700

    Adds boilerplate for menu module.

commit b38b532420e3d95e573d12bd7198cf4b0ae268a3
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Fri Aug 3 21:48:09 2012 -0700

    Adds menu button border-radius.

commit 34a0031f8128dc61ef3bcaa9c2f677c7e2793c3f
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Fri Aug 3 21:45:55 2012 -0700

    Adds a menu selector ring style.

commit e3811dae2e10074350e3332bcba393ae6658ebb2
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Fri Aug 3 21:13:14 2012 -0700

    Adds some initial HTML and CSS for main menus.