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.