Initial chromecast support.

created a bunch of helper classes that do much yet.