-----------------
Gray Code Counter
-----------------

See https://en.wikipedia.org/wiki/Gray_code
