Optimize memory usage in CssCompressor + API extensions

A few changes in this pull request:
1. Can be created providing input as String
2. Faster loading from Reader
3. Allow using the class without Reader/Writer - should be useful for integrating in other tools
4. Reuse StringBuffer in the compress() function
5. Using generics for ArrayList allows to remove some .toString() calls