More idiomatic fill and stroke - fns {with,current}-{fill,stroke}

Continuing from pull request #74.

As for metadata - I don't know what `:requires-bindings` is for, so I kind of guessed. You might want to check that.

I created subcategory `Utility Macros` inside `Colors` category, seeing how `Transform` uses that for `with-translation`.

```clojure
(fill 255) ; global white fill

(rect 30 30 60 60) ; white rect

(with-fill [255 0 0]
  (rect 60 60 90 90)
  (rect 90 90 120 120)) ; two red rects

(rect 120 120 150 150) ; white rect again
```

![screen shot 2013-08-15 at 12 31 49](https://f.cloud.github.com/assets/149425/968213/5c2ee396-0598-11e3-85ca-ede4bafb46ac.png)