Improved InvSlot, more uses of ISimpleItem

InvSlot now has seperate transfer rules for machines and players, with
better names on both the vars and methods.

Promoted SimpleItem to ISimpleItem in a few assorted places. Expect this
to continue.

Fixed getIcon() in GuiBase. The copied code from CoFH used their
IconRegistry and until now I never replaced it with ours.