code: github.com/a1k0n/jsxm
todo:
 - file picker, upload more xms to a host we can access cross-origin
 - make display even more faithfully FT2-like
 - render instrument list
 - oscilloscopes
 - fix bugs!
   - envelope loops - are they right or not now?
 - multi-sample instruments
 - missing XM effects (in rough order of priority):
   - Rxy - retrigger
   - E3x, E4x, E5x, E6x, E7x, E9x, EDx, EEx
   - 7xy - tremolo
   - Gxx, Hxy, Kxx, Lxx, Pxy, Txy