Mostly for context, the long term plan was to move the fixed-function GL bits out of state.c, either into context_gl.c/adapter_gl.c or their own file, rather than moving the actual state objects out. (Or rename state.c to ffp_gl.c, and then move state objects from ffp_gl.c to a "new" file state.c, if you like.) The idea was also that this would happen naturally as part of other long term state management changes, like e.g. getting rid of the state tables.
I suppose moving state objects to device.c works, although it feels somewhat arbitrary to move state objects there and not everything else, like e.g. sampler objects or views. (In fact, I'm inclined to argue for moving things out of device.c where possible; it sometimes feels like a collection of miscellaneous functionality that actually belongs elsewhere to me.)