Fix $.fn.prepend to not always be different

only when #show-textarea-button is pressed
First pass logging LaTeX rendering performance #profiling

intro.js:
  log (global within MathQuill, defaulting to noop)
publicapi.js:
  $.mathquill.setLogFn
test/visual.html:
  timeAndLog
publicapi.js (cont'd):
  logged .mathquill('latex', latexString)
rootelements.js:
  logged RootMathBlock::renderLatex
cursor.js:
  logged Cursor::writeLatex
math.js:
  logged MathElement::finalizeInsert
commands.js:
  logged SupSub::finalizeTree
  logged Fraction::finalizeTree

Typical log results on my Mid 2010 MacBook Pro:
https://gist.github.com/laughinghan/5938498
Inline RootMathBlock::renderLatex #optimize

Typical profiling logs: https://gist.github.com/laughinghan/5938581

~12% reduction in total time, mainly from there just being one jQize DOM
call rather than jQize-ing and then inserting before the cursor.
Don't show cursor in RootMathBlock::renderLatex #optimize

Just gets hidden again immediately afterwards in
.mathquill('latex', str)

Tiny perf bump, typical resulting profiling logs:
https://gist.github.com/laughinghan/5938615
Separate out root block DOM node from container DOM node #optimize #scary

We can get a perf bump by not making the redundant DOM calls to detach
the textarea and prepend it again, by making the textarea span and the
root block span siblings, rather than the textarea span always being the
first child of the root block span.

Typical profiling log results:
https://gist.github.com/laughinghan/5938626

This is kind of a scary change because the root node code is kind of
messy, I was way surprised how easy it was.

Turns out to also be much more elegant: The root block used to be the
only exception to the invariant that a block's DOM node has as its
children exactly the DOM nodes of the block's children in the edit tree.
The invariant being universally true removes an ugly special case from
Cursor::insAtDirEnd.
s/jQ/container/ within createRoot #rename

Because it's the container DOM node, as opposed to the root block's DOM
node.
jQize traverses DOM directly instead of with jQuery

getAttribute is a mess but should work for this case
http://reference.sitepoint.com/javascript/Element/getAttribute

jQize (and hence overall) perf bump by about 0.2ms, typical profiling
log results: https://gist.github.com/laughinghan/5939356