Gotta include ConfigHandler.
Always initialize interface table.

If it's stored between executions of the script, manually resetting the
fields that get changed is obnoxious and more error-prone.

The macro GUI still opens nearly instantaneously, so I'm not worried
about it taking too much time.
Make prepareConfig a bit less dumb.
Add parseRawDataString public method to DataHandler.

Allows instantiating a DataHandler object without supplying raw data to
the constructor, so the objects can be passed around by reference.

Also, carriage returns are evil.
Make parse a private method.

It gets called automatically from parseRawDataString
Rename sanityCheck to checkLength and fix it.

Having this method throw an error was dumb as hell.
Cleanup cleanText a bit.
Actually add the addLine method.
Add checkCancellation to Log module.

As the comment indicates, I'm not sure it makes sense to put this with
the logging functions, but there's no other place more convenient for
it to go.
Add a logging function for dumping any kind of variable.

It's not the most elegant thing, but having pretty-printed tables is
nice.

Apologies to Youka.
It would be a shame if windowError actually caused an error.
Allow updateInterface and updateConfiguration to take tables.
Get rid of things that are obviously bad, wrong and broken.
Instantiate motionHandler in the main function.

This makes control flow a fair amount less dumb.
Pass updateInterface a table instead of calling it twice.
Rework the dialog display loop.
Instantiate both DataHandler objects immediately.

This allows them to be passed by reference to `prepareConfig`.
Check length of data on clipboard against selected lines.

This allows providing some feedback in the interface if the data is
already on the clipboard when the macro is first run.
Fix getting the currentFrame from the video.
Actually do the things required for processing.