Fix component inconsistencies; add TwitterManager

Components, runtime modules and media sources behaved in inconsistent
and sometimes erroneous manners on instantiation. Allow their creation
without pointers to manager objects + move manager assignment to a
separate step tied to registration.

Also implement TwitterManager, the first runtime module (!), which
provides an API for getting OAuth information.