Added some additional type-checking to existing properties, and added some new properties to facilitate scripting of camera controller. The controller now fires the (empty) on_finish event when it's done, so you can put code in there too. The go() takes a 0-arity function to be called when the camera stops moving, if desired. The 'set options' function takes a map, with keys and values as listed below. Naturally, none of this is tested yet. Added add() and remove() functions, for calling from script when the event is over. These may be useful, as the camera locks the level position so the camera doesn't scroll back to Frogatto when the movement is done.
			key            | value
			-------------------------------
			passepartout   | If the object is to be used in the editor, should it preview the camera area?
			preview route  | If the object is to be used in the editor, should the preview move along the route?
			speed          | How fast the camera moves. This number is related to 'percentage along camera path'.
			constant speed | Set to 'yes' to stop the camera from picking up speed as it goes along. Good for tenser, jumpy cutscenes.
			path           | This value is just passed to set_path().
			average path   | Should the 'path' points be considered control points for a bezier curve? Note that all points are just averaged into one curve.
			linked object  | or linked_object. A string denoting the label of the object that should have the 'button_pressed' event fired when the camera reaches the end of the path.
			linked delay   | The number of frames to wait until firing the button_pressed event for the linked object and on_finish for ourself.
			callback       | Either a function or a list of functions to be called when the camera is done moving. Called before on_finish is fired.