fix: segmation fault occurs when many groups are used (Close #24)

Allocate Onigmo's stack from a heap instead of a stack when many groups
are used.

see: https://bugs.ruby-lang.org/issues/8716
fix: Backwards search not respecting range (Issue #22)
Merge branch 'topic/fix-segv-with-many-groups'
Merge branch 'topic/fix-backward-search-range'