handle data URIs

Previously, declarations were being split on all semicolons, which would cause data URIs that contained them to be split in two. This change leverages the work already being done by CSS Parser, and uses the pre-split property keys and values that they provide. Bonus: less code!