Split linear / follow strategies into mixins

Also moves elliptical strategy mixins into central motel
mixin directory.

Contains some small tweak / refactoring to shore & tidy
things up
Ship attack attrs now based on weapons class (based on type)
UI: add visual path representing ship's visited route
Add Figure8 movement strategy

If set to this strategy, location will move linearily towards
tracked target, pass it, then linearily away from it, before
rotating to face it and repeating.

Some slight refactoring of ruby / js movement strategy logic
to clean things up & encapsulate functionality