AssetHandle/AssetManager improvements

When an asset fails to load several times (default 3, configurable via
preprocessor switch) after being requested using blockingGet or
deferredGet, further attempts to retrieve the asset will return an
invalid AssetHandle with MissingPolicy::Ignore, so that problematic
assets are not requested over and over again.