AbstractStates that can Strengthen other states can be registered through
this function. The first argument, the target state type, gets strengthened
by the second argument, the source state type, using the third argument, a
function that takes a target state as a mutable reference and the source state
as a const reference.
This type wraps z3 and a sleigh context and allows for both modeling instructions that
sleigh context has already produced, or reading new instructions directly out of sleigh and
modeling them in one go