Regex: Refactor ThreadedRegexVM state handling
Regex: Refactor ThreadedRegexVM state handling

Remove ExecState to store threads inside the ThreadedRegexVM so that
memory buffers can be reused between executions. Extract an ExecConfig
struct with all the data thats execution specific to avoid storing
it needlessly inside the ThreadedRegexVM.

casimir/kakoune,mawww/kakoune,mawww/kakoune,Somasis/kakoune,lenormf/kakoune,jkonecny12/kakoune,jkonecny12/kakoune,occivink/kakoune,Somasis/kakoune,alexherbo2/kakoune,danr/kakoune,alexherbo2/kakoune,jjthrash/kakoune,jjthrash/kakoune,jjthrash/kakoune,danr/kakoune,mawww/kakoune,lenormf/kakoune,casimir/kakoune,lenormf/kakoune,mawww/kakoune,lenormf/kakoune,occivink/kakoune,jjthrash/kakoune,alexherbo2/kakoune,danr/kakoune,occivink/kakoune,casimir/kakoune,casimir/kakoune,alexherbo2/kakoune,jkonecny12/kakoune,occivink/kakoune,Somasis/kakoune,jkonecny12/kakoune,danr/kakoune,Somasis/kakoune