DECParser cleanups.

Pass more normal arguments back to callbacks.
Recognize CSI private modes.  Params now passed as [private?, code] pairs
Remove public attributes that shouldn't be exposed.
Support OSC/APC strings
expanded_state now catches double definitions for the same character.
Rubyize vt102.rb further.

Symbols as keys in character maps.
Symbols as callback names.
Symbols as option names,
Booleans are true booleans everywhere.
Remove callback args (use a closure)
Tables are now Term::VT102 constants
Better way of passing public/private flag to CSI.

Most callbacks don't care about public/private info, and it's
convenient for them to get the parameters already in Fixnum
form.

For those that do care, they can accept a priv_flags: keyword
argument, and the CSI dispatch function will fill it with true
(private) or false (public).  We now use this to implement
private (DEC) modesetting.