bail earlier on cache hit
short-circuit more computation on cache hit

This is done by moving computation from the call site in substitute()
function to the callee, i.e. create_syn_match(), and after the callee’s
cache check.

This necessitates tearing through the encapsulation of passing arguments
to create_syn_match(), making the function *require* being called from
within a substitute(), but any other approach costs speed. Oh well.

On the upside, this makes parse_screen() much less ugly.
add global cache to create_syn_match
ensure lowercasing of RGB value early
make the substitutions no-ops
homogenize overlooked function name
remove outdated note