Bring back deferred static initializer.

Turns out using the new delegate-static-init support doesn't
work for all classes. As well using it is more complex in cases
where one just wants to defer the static init.

Test: create/tests/run_tests.sh
Change-Id: I110d5c8b16170acd56681c9b060282c25161d096
(cherry picked from commit a9a2498ecc1f5d1b435dffb630bc870024ff2eca)
6 files changed