libdeng2: Fleshed out the Asset implementation

The usage policy of a particular asset should not be tied to the
asset itself, as an asset may be required by one component while for
another it may be optional.

Added a set of asset dependencies to make it easy for components
to track their dependencies as a group.