Gradient drawing works

Everything works, just needs to be cleaned up and add comments. We also
have to do something interesting with it still.