JPG images optimization

A few unnecessary reads can cost you a lot.

For a big JPEG (~9 MB) speed up is noticeable.

             user     system      total        real    memory
Before: 32.770000   0.260000  33.030000 ( 33.491774)  34.5 MB
After:  19.600000   0.050000  19.650000 ( 19.793003)  29.6 MB

Speed: **1.68x faster**
Memory: **14% less**

             user     system      total        real   memory
Before: 37.660000   0.200000  37.860000 ( 38.482895)  33.9 MB
After:  24.170000   0.060000  24.230000 ( 24.422936)  29.8 MB

Speed: **1.56x faster**
Memory: **12% less**

                user     system        total         real   memory
Before: 10487.800000 295.590000 10783.390000 (7131.061000)  528.3 MB (549.9 MB peak)
After:      7.350000   0.180000     7.530000 (   6.400000)  114.7 MB

Speed: **1,432x faster**
Memory: **78% less**

             user     system      total        real   memory
Before: 21.270153   0.239070  21.509223 ( 20.862641)  150.1 Mb
After:  16.131227   0.186280  16.317507 ( 15.169135)  143.4 MB

Speed: **1.32x faster**
Memory: **4% less**
Removed unused JPEG_APP_BLOCKS constant
Add Ruby 2.1.0 to CI
Use require_relative to prevent encoding.rb from being loaded twice
Add experimental YARDoc task

Generate documentation with YARD using the following command:

    bundle exec rake yard
fixes colspan width calculations, e.g. #407