Refactor/native regexes

Here's the tasks for prior to merge this branch in master: 

1. [x] Remove `OnigRegExp` and use plain `RegExp` instead.
- [x] Fix case so that `Color(...)` is not matched by `color(...)` expression.
- [x] Add uppercase and capitalized versions in the named colors expression (required by the change above).
- [x] Fix (or workaround) named colors matched even when prefixed.
- [x] Implement a real asynchronous search with batched loops.
- [x] Clean up API to remove asynchronous methods when not needed.

Points 2 and 3 are pretty straightforward, 4 is much more trickier, logically there's no solution to that case without resorting to negative lookbehind. I tried the classical non-capturing group trick but it doesn't works, at this point I'm open to any suggestion on this problem.
Point 5 shouldn't much more impact on the API since it was already mostly async.

cc @lee-dohm