Replace old state handling implementation by something 'better'

While **much** more complex and slower for regular menus, it has advantages:

 * Better performance scaling when state count grow
 * Prevent most accidental unsupported state colors
 * Prevent a big if elseif elseif... switch copy pasted in all item_styles
 * Make it easier to register new states

As for the 'bloated' created by this commit, it will be moved when I will
fix issue #12