UrlPatternIndex component can be used to build an index over a set of URL rules,
and speed up matching network requests against these rules.

A URL rule (see flat::UrlRule structure) describes a subset of network requests
that it targets. The essential element of the rule is its URL pattern, which is
a simplified regular expression (a string with wildcards). UrlPatternIndex is
mainly based on text fragments extracted from the patterns.

The component uses FlatBuffers serialization library to represent the rules and
the index. The key advantage of the format is that it does not require
deserialization. Once built, the data structure can be stored on disk or
transferred, then copied/loaded/memory-mapped and used directly.
