Fix state-restoration ordering of child controllers

Hi there - I was having problems with state restoration only working the first time around.  I believe it's due to the ordering of the drawer's child controllers - in the init method, you end up with [center, left, right] child controllers, but when decoding from state restoration, you have [left, right, center].  This then means that the state restoration paths don't match up, so it fails.

This commit re-orders the state-restoration decode method to be consistent with the regular init method.