[ui] support custom theme config.
[api] Change theme api.