I ran into some issues with the collision detection (the math is a little off, as well as the point in which the collision is detected is not the center of the image or pixel, but the top left corner). I need to implement a workaround (i.e. getting the height and width of each image/pixel and dividing it by 2 to determine the center x,y location from which to detect collision).
I'm also considering using a library like Box2D, since it might be helpful down the road for a bunch of other game mechanics.
The code for this version can be hound here on Github.