Replace parse_url() with a regex

Some non-normalised paths cause parse_url() to return false when
they do in fact contain a scheme.
Add helper to safely split include path containing colons

This resolves issues on *NIX when the include path contains a scheme.