Use the templateLocatorService instead of hard-coding.
Pulled out selection handle draw into its own service.
Getting set up for mouse selection.
Considering doing something drastic.

These aren't services, these should probably be directives on the editor
canvas. Or something.
Can select and drag around entities.
Fighting the $scope.$apply beast.

An entity is created by addEntity.js#$scope.addEntity. This is called
from within an ng-click directive, so Angular "knows" about the
change... thus calling $scope.$apply within this chain is an error since
there's already an apply cycle happening.

But dragging the entity around, or re-selecting it afterwards, happens
in an element event handler (e.g. element.on('whatever', ...)) so
Angular apparently *does not* know about it and needs $scope.$apply to
be updated with the change.

Both of those paths use selectionService#select, which broadcasts a
"selectionChanged" event... which the entityInspector is watching for,
which then causes all these problems by trying to call $apply.

The Angular answer is to not use the same method from both contexts:
"within" angular (ng-click) and "without" (element.on). But not sure how
the selection stuff works otherwise?
Merge remote-tracking branch 'origin/master'

Conflicts:
	client/addEntity.js