UI: ship gfx refactoring

Contains a few related changes to the ship gfx module:

- split omega/ship/gfx.js into modules pulled in from
  omega/ship/gfx/ dir

- parameterize attack graphics depending on weapons class

- refactor attack graphics to use generic target tracking
  modules defined under ui/canvas/

Tests need to be updated post these changes
UI: improve artillery gfx, extract reusable particle base component
UI: flush out initial missiles / heavy weapons class gfx

Not the prettiest implementation as a few hacky callbacks had
to be added to canvas to handle a few edge cases. Most likely
will be looking to incorporate improvements into some high-level
js entity & component level refactoring in the near future.

Tests are also (more) broken post this, will incorporate fixes
with updates
UI: use common particle mixins for ship trails
UI: add rocket trail to missiles, use new particle
UI: tweak trails, artillery, missiles particles
UI: some refactoring of ship module

No functional changes beyond reorganization