report loose consumable level as is

This avoid inexact assumption than 'enough' means '100% full'.
allow undef for unknown values
add explicit units to consumable levels
two new consumable types: staples and developer
add resources metadata