Perform image composition in Go rather than imagemagick.

Calling to imagemagick is slow and buggy so this works better.
Update TODO list.