Adds parallelism and timing.

Adds parallelism to the initial pixel coloring of the `render` method.
Measures the timing of the different operations that occur so the impact
of the parallelism can be compared.
Updates the camera to store the image dimensions and for the `render`
method to directly return the pixel table, instead of taking it as an
argument.