Implemented unit tests for the issue #3.
Changed how regular expressions are created. This change fixes #3.

Regular expressions in CPF and CNPJ validations were created in a wrong way, but the bug happens only in minified source after transformations by the Closure compiler.

There were created using a pattern instead of a regular expression string:

if (!(new RegExp(regexValidations[punctuation])).test(value)) { // regexValidations = /pattern/gi
   // code...
}

After minification, the resulting code is:

RegExp(regexValidations[punctuation]).test(value)

By calling the constructor this way and passing a regular expressing pattern produces wrong results in subsequent calls. As a side-effect, two calls in a row using the same parameters results in different outputs:

maoli.Cpf.validate("111.111.111-11"); // returns true

maoli.Cpf.validate("111.111.111-11"); // subsequent call - returns false
Refactored the code.