Various changes

API still evolving
Added viewport manager, with content scaling and alignment