This is a basic Piet interpreter.
I had a lot of fun writing it. It complied with the specification available in 2011, and may or may not be compliant with the specification updated in 2014.
See the Piet designer's homepage at http://www.dangermouse.net/esoteric/piet.html
And also https://en.wikipedia.org/wiki/Esoteric_programming_language#Piet
Note that I didn't author any of the tests (pngs, ppms, gifs), and can't remember where they come from.