Remove bogus reference in socket.coffee

The way our coffee is being bundled is actually problematic because
each of the individual files insn't wrapped in an anonymous function,
only the whole coffee bundle is. Therefore, the configure reference
in socket.coffee should have failed. It doesn't. Who knows what else
might be confused as a result of this situation. I'll sort it all out
this week.
Remove h.identity dependency in app.coffee

This dependency is already pulled in by controllers.
Put annotation code together as a directive

Get rid of app_directives.coffee and make it into annotation.coffee
under the directives folder. Put the annotation controller from
controllers.coffee in with it.
Cleaning up and splitting a bunch of CSS

This commit cleans up our CSS a bit and splits it apart.

- Break apart the asset bundles for app and common. This prepares
  for removing more components from common into a new bundle for
  sidebar specific things.
- Add a typography.scss to collect all the typographic stuff.
- Rename the bundle outputs to stop the hypothesis-* madness. Our
  app is simply 'app.js' because it runs on our domain. The inject
  is now 'hypothesis.js' and 'hypothesis.css' and it should begin
  to export our scripting APIs.
- Building the common CSS and the app-specific CSS means that the
  reset code needed to move out of the common CSS. Otherwise, the
  app bundle has trouble overriding the body and html styles and
  I wanted it to be possible to customize the typography, which
  relies on setting styles on these elements, separately for the
  application and our sidebar widget. For instance, we might use
  smaller fonts in the sidebar where we're space constrained.
- As I shifted things around I discovered some of our resets simply
  weren't being applied due to strange ordering of dependencies and
  imports. Therefore, I had to tweak the simple search CSS. I ended
  up having so much trouble understanding it as it was written that
  I changed it, hopefully for the better.