automatically guard freeing
automatically initialize state
cache pcre_fullinfo failure string
add small optimization for newer node versions
clarify comment
use some logic from pcredemo