Fix possible crash when shader compilation fails.
Fix possible crash when shader compilation fails.

We were adding asset to the asset_map, and then deleting it when LoadNow() failed. So the asset_map held a pointer to a deleted shader, which would could returned on a call to
AssetManager::FindShader().

The fix is to keep the asset around, even if its load fails. This matches the async load case, and will prevent trying to reload the asset (and failing) every time it's requested.

We're not really wasting memory by keeping it around, since the we don't expect the loads to fail.
PiperOrigin-RevId: 149361857
Change-Id: I2c1c32514e6b6138210d311d549b8a66326d8460

google/fplbase,google/fplbase,google/fplbase,google/fplbase