Initial work.
Break out gradient parsing into it's own library and add some tests.
Fixed parsing of simpler gradients.
Additional test for proper behavior
Implement actual tests to improve performance by not processing declarations that aren't gradients.
Adding support for detecting gradient direction.