Make types work in placeholder parser

This requires the parser to take an option object.
Do we really need this? I've been trying to deprecate the global in favor of passing the options down. Using `new Options()` would provide a copy of the default values.