Several updates

- Fixing issue that would allow a null requires value
- AssetManager will no longer automatically apply ANY "groups" value to assets that do not have one defined
- \asset_manager::add_[style|script|less_asset] methods now return the asset on success or null on failure
- Further maturity of Observer pattern