Rename HandleType to InvocationType, and introduce RewritePolicy

- rename HandleType to InvocationType
- use InvocationType instead of Opcodes where possible
- add InvocationType.id() and .fromD(), and use that instead of 
  instruction opcode for passing invocation type to 
  the bootstrap method
- introduce a RewritePolicy which decides whether a call should
  be rewritten for interception