[atv2] - rewrite the XBMCAppliance and XBMCController for using obj-c runtime class definition and hooking. This is needed for supporting atv2 on ios6 (see the comments in the impl.)