replace component/css with a ported component version of jquery's .css()

This PR adds the `set` action to component/css and offers better browser support. It's basically a cleaner version of jQuery's .css() method.

It is backwards compatible so there shouldn't be any problems with the new codebase. It's significantly larger in size than the old component/css, but it's much more comprehensive and useful.

Not all of jquery's tests for `.css()` have been ported over, but this should give us a good starting point.