Minor code and API tidying for all formats

All formats:
* Wrapped the engine code in an immediate function, to keep its
functions from polluting global scope and potentially interfering with
other included JS. Only the "state" and "tale" objects are put into
global scope. Note that this doesn't affect custom scripts/macros,
because they are all eval()-ed within the scope of main().
* Removed the $ function from the engine, so as to allow
jQuery/Prototype to use it. However, a copy of it is added to main(),
which means that old custom scripts may still use it (or override it).
* No longer overrides the built-in String.trim() if it exists.
* The quoteByLine wiki syntax no longer adds a finishing <br> element to
the <blockquote> element.
Responsive:
* Replaced the jQuery 1.7.2 code with a Google CDN call for jQuery 2.0.
This fixes the bug where a Unicode symbol in the jQuery code made the
Twine compiler not work with this format.
* Moved the Modernizr, matchMedia and Respond.js code below the engine
code, for readability.
* Made the "main-container" div have a padding-top of 1em.