fix race condition actualización pantallas

Había un bug de race condition en la actualización de pantallas. Las
pantallas se registraban como observadoras durante el '__init__()', y no
durante el 'create()', con lo cual si el actualizador del dato observado
es muy rápido, puede forzar a que la pantalla ejecute su 'actualizar()'
antes de haber pasado por 'create()', lo cual causa comportamiento
indefinido debido a que 'actualizar()' puede depender de datos que se
crean en el 'create()'.

El bug se puede ver por ejemplo si se pone 0 como tiempo de
actualización del GPS (el error puede o no ocurrir, puede ser necesario
ejecutar varias veces para verlo).

La solución implementada consiste en mudar la registración como
observador, i.e. en lugar de hacerla en '__init__()', la hacemos en
'create()', con lo cual ninguna actualización podrá tomar por sorpresa a
una pantalla. Ahora, si una pantalla se actualiza, implica que ya está
lista para hacerlo.