Experimental Version of new Entity Editing UI/UX

This is the first cut at a new editing UX

* It has the same editModels.js features for adding new entities - but changes the select, translate, and stretch behavior
* rotate is not yet supported, but new overlay features for displaying rotation disks has been added
* stretching of entities is now done through "grabber" handles visible on the selection box

Additional scripting support was added to make this possible:
* new planar overlays for circles/ellipses and rectangles
* ray intersection testing was added to 3D overlays
* boxes and spheres were updated to support "stretching"
* dashed lines were added to wire/line overlays
* I moved several "helper classes" in the editModels.js file into their own "libraries" - I didn't make this change in editModels, because I wanted to leave it fully functional... but in the new newEditEntities.js these classes are referenced by Script.include() in order to keep the main editing code cleaner.

NOTE: This is still experimental. It's not fully functional. Some warnings:
* you can stretch objects in strange ways that may cause problems.. be careful not to stretch an object to a negative dimension
* sometimes when starting a second move or stretch operation the tool will jump your entity to an old location or size
New feature in editModels.js allows you to select really large or really small entities by checking a menu item.