Clean up spacing and indentation
Refactor ViewerApp.initialize()

Add hooks to ``ViewerApp.initialize()`` to allow subclasses to
use it as their initialize method, or to call super without all
the repeated code.

Pass the router as an option to the view instead of the other way
around.  Instead of having the router call methods on the view,
listen for ``route`` events inside the view.

Addresses #873
Use ``attributes`` instead of custom option

Use ``attributes.class`` to set the class on the view's element
instead of ``options.elClass``.  Using attributes is more inline with
how Backbone sets elements on an element it creates.

Originally, ``elClass`` had been a property of the view class
instead of a key of ``options``.  Making it a key of ``options``
caused the options of the parent class to get clobbered, which broke
table of conents toggling.
Fix "Topic Map" button in spider story viewer

``StoryNavigation.events`` defined a click event for all ``a``
elements.  The event handler wasn't appropriate for the
"Topic Map" link, so make the default click handlers target
the next/previous buttons explicitly.

Addresses #873
Use LESS nested styles for spider story sidebar

This makes the code somewhat less verbose and more maintainable.

Addresses #873
Auto expand #story-nav element in viewer

Use ``display: inline-block;`` instead of ``float: left`` for
the children of the ``#story-nav`` element and remove the width.
This allows the element to grow automatically and accomodate
different numbers of buttons such as the "Topic Map" button in
the spider story viewer.

Addresses #873
Fix "Back to Connected Story List" button width

It shouldn't be restricted to 80px like the other buttons.
s/.summary-image/#summary-image/