Remove unncesssary frames[] array

JPG.js cannot handle more than one frame anyway
Prevent extensive garbage collection

The root cause for this patch was prepareComponents() creating a lot of garbage
by recreating the row-array many times. This patch changes this behaviour by
allocating just one big block as a buffer and then accessing it accordingly.

Benchmarking with big images shows an performance improvement of 65 - 75%
Move quantizeAndInverse out of buildComponentData

Benchmarking shows that this gives a 10% performance boost
Cleanup frame.component

by making it an array and introducing a map from componentId to index
Merge pull request #22 from bthorben/performance

Performance Improvements