New conversion module

Moves the existing TO_XXX lambda functions into their own module,
updating references from the package init.
compact_json and substitution_xxx converters

The former removes the json module dependency on the main initialization
module, and the latter will be used for the advanced substitution
functionality to be implemented in this branch.
Reworking of conversion module

Replaces all lambdas with expanded functions with documentation and
better error detection.
Configuration slots for substitution lists

Introduces new configuration keys for substitution lists to be used with
both note and template contexts.
Split text manipulation into simple/advanced

This introduces a sub-tab layout into the Text tab of the configuration
dialog for setting up the "advanced" text manipulation stuff.
Editing of existing substitution lists

Adds support for the configuration dialog to edit existing substitution
lists.
Configuration support for adding rule rows

Implements insertRow() on the sublist model and wires it up to the
interface.
Sorting buttons

Adds "up" and "down" buttons to the advanced text configuration area,
with implementations to-be-done.
Substitution rule deletion support

Implements deletion of advanced substitution rules.
Reordering support for substitution rules

Wires up the configuration screen and the model to support this.
Implement pattern match compilation and validation

Automatically compiles new pattern matches from the configuration screen
for the advanced substitution list functionality.
Automatically drop empty substitution rules

This is done both from the configuration area and the loader.
Automatically save open editors

If the user hits 'Okay' on the configuration dialog, search for any open
editors and automatically close them.
Prevent refocusing to delete button

When the user sorts downward, avoid focusing the delete button when the
down button becomes disabled.
Expand/shrink list views on configuration dialog

Grow these when possible, but otherwise keep them as short as possible.
Compress down item view layout

Sets all margins and content padding areas down to zero for the item
edit view.
Introduce Sanitizer class and text module

This class can currently be used as a drop-in replacement for collapsing
ellipses and whitespace, but will be expanded shortly to cover all
cases.
Port sound strippers over to use Sanitizer class

This also splits up the old atts sound stripper method into three
methods that provide the kind of desired sound stripping.
Port filename stripping into Sanitizer

This is already used by the audio stripper and will now also be used by
the MP3 generator's "remove existing" option going forward.
Get RE_FILENAMES from text module

Ths main init module should no longer define this on its own.