wip. packageJS, fastOptJS and fullOptJS work. tests pass.

fastOpt size is too big.