cleanup: move BenchBase to its own file,
expand the REGISTER macro so it can be used for multiple structs in the same file
add functions from DarthTon, fdsasdf and Trippeh
fixed my pattern.
added new option to see how patterns behave when they are running outside bounds while matching (disabled for now)