The first two are possible and already a reality for devices with USB OTG. Printing would require support from software and (I guess) printer drivers, so it isn't as easy as just plugging the device in.