Support overriding inherited methods

Ticket from Codeberg

struct Parent {}
impl Parent {
  fn method () { println!("do something in parent"); }
  fn another_method() { println!("do something else from parent"); }
}

#[inherit(Parent)]
struct Child {}
impl Child {
  fn method () { println!("do something in child"); }
}

should result in

struct Parent {}
impl Parent {
  fn method () { println!("do something in parent"); }
}

struct Child {}
impl Child {
  fn method () { println!("do something in child"); }
  fn another_method() { println!("do something else from parent"); }
}

Observe that Child::method() overrides the parent method.

Edited by Average Dude