Special-case 24-bit RGB image-handling

In #4181, I special-cased the handling of 1bpp grayscale images.
This pull request does the same thing for 24bpp RGB images. The memory saving
is much smaller -- it avoids a 1.333x blow-up to 32bpp RGBA rather than a 32x blow-up -- but
it's pretty easy, and so worth doing.

The first patch introduces a |forceRGBA| argument for createImageData(), which
fixes a bug introduced by the 1bpp special-casing, which is that we can't
use the special-casing for paintInlineImageXObject.

The second and third patches are just some clean-ups.