Improve regex to detect regex (that’s so meta!)
Tweak order of shielding operations

The improved PCRE regex to detect JavaScript regular expressions is able to match empty regex, which simply consist of two slashes.

Since single line comments can use exactly the same strings, they will be ‘shielded’ if they are not removed before the shielding operation.

That being said, we cannot simply remove comments before shielding the code, otherwise protocol strings (such as `http://`) would be stripped.

The solution is to have two different shield operations. The first one only deal with protocol strings. After that, we can safely remove comments. Finally, we can shield everything else without any risk to accientally shield single line comments.