Implemented basic scripted item + code cleanup

Added a new class, ScriptedEffect, which Items can use to apply an
effect using a script. The MapTestState was updated to use one of these
instead of a NothingEffect. Some code cleanup along the way to get rid
of dead code and consolidate the Squirrel VM usage to a single VM that
is shared across the application.