Making transformer re-entrant, cleaning up options

The transformer only supported one 'apply' call at a time, but pub does not guarantee that. Moved the code into a separate class which is created one-per apply.

Also slight changes to options- making it easier to chain transformers and forcing all paths to be posix (since they come from pubspec.yaml, users should not be using machine-specific paths).