Adds Viewport panning.

Squashed commit of the following:

commit 9bfd79528953551182b9f82f6b36bcd7fd727eb9
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 19:18:23 2012 -0800

    Fixes more panning buginess.

commit e33d426502925cb38efe12b6ee60f2520ecd0732
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 18:44:14 2012 -0800

    Fixes some bugginess around panning down.

commit 2c37274f77be4724eece1755497e65b2c46e30fc
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 18:36:59 2012 -0800

    Improves Viewport panning, but it is still broken.

commit 6e57127ff91147369f33cda132ea1dbf47ad08ee
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 16:26:23 2012 -0800

    Adds some very broken Viewport logic.

commit b802e75b9de9668ae38341eb1d05d06ac56c8e8c
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 15:11:17 2012 -0800

    Implements background upper bound viewport panning.

commit 8e9e094be991b9105e72220d2b131fc9c8a3463b
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 15:02:57 2012 -0800

    Implements basic viewport upper bound limiting for Drawables.

commit 2610a61368acf3462ed10c13a4475b69ae70d497
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 14:09:42 2012 -0800

    Starts on Viewport calculation.

commit d438204708a0b38b5badfbeb24058e0be79f6f17
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 13:49:17 2012 -0800

    Adds static applyViewPort and unapplyViewPort methods.

commit 5e8e4a04e6289c9da4ba31b140ff6812a0726abc
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 12:08:15 2012 -0800

    Creates Drawable and extends Jumper from it.

commit eba20a538bd1ed3ca5ab41d0248c3154c3bb7595
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 11:42:22 2012 -0800

    Adds some Jumper instance variables.

commit 29325847b82242f6a279a89d2ff29c45f2546be0
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 11:26:04 2012 -0800

    Tweaks buildPublicName.

commit ad118d3d371ef8633e24882feb5e47a587daa511
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 11:21:22 2012 -0800

    Some minor cleanup and Viewport setup.

commit fc9127dcfd0273c185e3cd506862013dbe080c60
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sun Dec 23 10:41:19 2012 -0800

    Tweaks buildPublicName.

commit fd61bff509dce7fe5dfa3a44f5df027c1b3f7eb5
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 20:02:31 2012 -0800

    Adds createGetters.

commit 42421a663305df6173b4d242d1fe51584af1b3e0
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 19:48:10 2012 -0800

    Separates ticks from draws.

commit b4cd9f8454c950d815676650789469eae3859fb3
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 19:40:38 2012 -0800

    Adds viewport.js.

commit db69e78a90cad967cdbfdd133da4624c00f9fe03
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 19:31:42 2012 -0800

    Adds a 'use strict' declaration.

commit 65a061f1b2fa66b9fcd4ab209f6fe3f8c5f4fefb
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 19:24:31 2012 -0800

    Removes clearRect call.

commit 91d663e72a4c50eb9056e8b3a9b1f73215a4f930
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 19:21:30 2012 -0800

    Implements tiled background.

commit dd639266175014055d55c2793a527cf6cffb566b
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 18:56:08 2012 -0800

    Adds img/noise_bg.png.

commit c362a9094050936dc639ae1bcd796909b7c9acbe
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 16:58:10 2012 -0800

    Removes wall bouncing.

commit b4c69da03f1e2c6fed069f7fa09a36ac724da6df
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 16:48:40 2012 -0800

    Symbol rename.

commit 05015d3aa6c56ca8b08d4a006e6334b371c8144c
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 16:48:03 2012 -0800

    Drops jump thottling, switches to locking instead.

commit c7adb683e1f39d396618eb3f3c80d4c7934497e0
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 16:17:09 2012 -0800

    Adds a jump timeout.

commit 6f5b5f6600f8ee935f625e63d3648db93a948b9d
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 16:08:44 2012 -0800

    Adds util.js, refactors some code into it.

commit 38c8d1b84cfa4918ac265bca104d6845fbda02f5
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 16:02:58 2012 -0800

    Implements gravity.

commit 51a8fae6043e3809d4735ebf248f7ac34fc42a12
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 14:58:36 2012 -0800

    Adds a JSDoc.

commit 40422cf946bfff50d635f95208577926d7c93003
Author: Jeremy Kahn <jeremyckahn@gmail.com>
Date:   Sat Dec 22 14:56:15 2012 -0800

    Adds shapes.js and refactors some code into it.