Refactor of Port, Pin and SimplePort; Pin now inherits Port;
~500k code size decrease when using both Port and Pin