Add sponge block

This PR adds a general-purpose taxicab block iterator and employs it to add the block behaviour of sponges in 1.8.

![Sponge working](http://i.imgur.com/jUsr2fI.png)