Call for re-design of sprite renderer

1. Depth ordering. The current design is fundamentally flawed. The fact
is that widgets must be rendered in order if any useful alpha blending
is wanted. Additionally, it becomes fairy complicated to maintain
widgets' layer ID if set-active alike behaviors are required.
2. One VB for all the widgets is not flexible enough. The gains of
performance is easily out-weighted by complexity increase if I want more
decent effects.