We needed to initialize the LO_CELL element's pointers
to table state inside lo_SquishSubDocToCell(). The LO_CELL element in this function
is used to hold the contents of a <CAPTION> tag and does not have a peer lo_TableCell
structure. The uninitialized pointers to table state in this element get dereferenced
when the table is freed and cause the app to crash. Initializing the pointers fixes
the crash.
We redo the way tables get freed.
Earlier when the LO_TABLE element got freed, it would free stuff that hangs
of the subsequent LO_CELL elements. Now, only table related stuff gets freed
and the LO_CELL peer data structures get freed when the LO_CELL is freed.
Lots of code that was if-defed or commented out since Mariner hit the tip
has been removed to improve code readability.