Sanitize incoming file names before generating sprites

So as it turns out, sometimes the images that you want to turn into sprites have a pre-set naming convention that you cannot change. Currently this results in sprite-factory generating invalid CSS with odd characters in places they should not be. This patch deals with that case by specifying a new option :sanitizenames that pre-processes the incoming names so that they do not contain any characters that CSS considers special. 

Note that this option is incompatible with the character escaping that is currently implemented. Specifically periods will be removed from the incoming file name so constructs like div.someClass are not possible with this option enabled. Pseudo classes and spaces still work with their previously defined __ & -- escape sequences.

There are two other commits that I included that do not pertain to this problem, a fix for the test harness and adding :margin as a global option. Let me know if you'd prefer separate pull requests for those two.