Refactoring the PHY, adding support for other devices, SMSC LAN87XX and make KSZ80X1 more generic