Rewrite more of the indenter.  It mostly works now.

Main known problem: block comments; we can't tell when we're inside one.
Add an autoload mode thing
Don't base a line's indentation on its own }
Use syntactic-font-lock to recognize chars correctly.

Now, not only will '(' not paren match ), but '"' won't start a string.
FIXME: handle line-ending ] differently wrongly