Updated the application so that it can generate database and all updates

The application will now generate the database on first launch as
opposed to being pregenerated. This will allow for easy updates in the
future via change scripts. Precautions have been taken for all users who
have previously installed the application with the pre-generated
database.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Fixed a ColorActivity bug that reduced brush softness.

The softness of the brushed was reduced whenever erase-mode was disabled
by clicking the brush button directly. This is because this case was not
setting the mHard switch to NO, and so the hard-brush for the eraser
stayed enabled for the brush.

This update fixes that issue.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Optimized the flood-fill algorithm.

Instead of using NSMutableArrays, which can dynamically allocate memory
up to arbitrary size, the algorithm is now using boolean arrays that are
preallocated with the maximum width and height of the images dimensions.
The boolean arrays default to false values. When a pixel is to be filled
with a color, the corresponding boolean value is set to true.

This is faster than using NSMutableArrays and ultimately uses much less
heap memory.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Merge branch 'feature-optimize-floodfill' into github
Fixed bug that crashes app when a valid response is not received.

The response callback function sometimes does not have valid product
data. In these cases, the application would attempt to use the info from
the invalid array and this would cause crashes. Now, if the array
contains invalid data, the data is not used at all.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>