Allow setting of styles/properties via objects.

Additionally:
 1. Make the type for setting attributes via objects slightly stricter.
 2. Add tests for style/property setting via object maps.
Re-enable the test for brush()

This was failing with 0.9.0. Now the test no longer crashes the
compiler.
Merge pull request #2125 from musically-ut/feat-d3-style-map

d3 allow setting of styles/properties via objects