Topy3

Seems fairly straightforward, I have only run the automated tests. I'll run it against the MNIST data tomorrow (but I though you might like to take a look in the meantime).