Bridge generation in erasure implemented.

Relies on meaning of `Symbol.overriddenSymbol` to see which bridges are required.
Doesn't take in account value classes for now
Uses 'adapt' used by erasure for converting arguments and return value.