eqn: custom brackets

Now it is possible to adjust the default brackets or define new
brackets.  Two commands have been added: one for specifying different
bracket sizes (bracketsizes) and one for specifying bracket building
glyphs (bracketpieces):

  bracketsizes sign N glyph1 glyph2 ... glyphN
  bracketpieces sign top mid bot cen

In these commands, sign is the token placed after the "left" and
"right" keywords in equations.  In bracketsizes command the glyphs
should be ordered based on their size with the smallest glyph
appearing first.  Neateqn tries the specified glyphs in the same order
until it finds the glyph that is large enough for the enclosed
formula.  If this fails, it tries to build the bracket if its pieces
are defined (by default or with bracketpieces).  The four arguments
of bracketpieces specify the glyphs required for building the
bracket.  The last argument can be empty (i.e. "") if the bracket
has no centre ("\(lk" is the centre of {, for instance).

As an example the following lines show how the default opening and
closing parenthesis can be defined:

  bracketpieces ( "\(LT" "\(LX" "\(LB" ""
  bracketpieces ) "\(RT" "\(RX" "\(RB" ""

The following lines do so for braces:

  bracketpieces { "\(lt" "\(bv" "\(lb" "\(lk"
  bracketpieces } "\(rt" "\(bv" "\(rb" "\(rk"

Also the following line instructs neateqn to use Tex's open
parenthesis glyphs with different sizes:

  bracketsizes ( 5 "(" "\N'parenleftbig'" "\N'parenleftBig'"
    "\N'parenleftbigg'" "\N'parenleftBigg'"
eqn: free() everything at exit