override non-native methods

@mcav, @marco-c: here's a way we could implement overrides of non-natives. It basically works just like natives, except for non-native methods.

You could check if methodInfo.override is set before doing the lookup, so we incur the lookup cost only the first time the method is called.