Allow custom primitive parsers

Following your suggestion on #30, this is an implementation of `Parsimmon.custom` that allows creating primitive parsers.