Support Non Random Access Writing


JJ2000 required writing and rewriting encoded files multiple times as well as utilizing seeks extensively on each pass. My initial survey of the code suggests this was due to lazyness more than anything else and the entire process could be streamlined to make encoding directly to an output stream possible.
Decoding does not require random access as the sample application provided with JJ2000 was capable of loading from a network stream for http downloading.