The `Asset` constructor sets `asset.id` to the asset's path, a sensible default. Of course, if the asset has a name instead of a path, we have to use that instead. Or if the user specified an ID, that's even better. We just don't want to default to `""`, since then a bunch of assets could have the same ID. Resolves #1758.