Some of what you are asking has been done, it requires a hardware mod to cable I believe,.... Check XDA site for details.... Also connecting to a powered USB hub with a OTG cable/adapter might accomplish the feat...
This is only reference to doing this that I have still involves hardware hacks...