[ios] New template for .xcassets bundle compilation

Add a new template to compile .xcassets bundle as part of the assets
catalog compilation.

This template simplify assets declaration since there it is possible
to define a single target for all assets instead of one target per
asset.

Additionally, it fixes an issue where the build/config/ios/hardlink.py
script would be copying all files from the asset directory (i.e. if a
file was present on disk but not listed, it would be used). This could
result in flakiness since those unlisted file would not be known to
ninja, and not considered when checking whether the output is dirty.

An side benefit of this template is that by listing an .xcassets bundle
in the source, the generated Xcode project will show the asset catalog
in a nice way, allowing to look at the assets from within Xcode.

Convert the sample app //ios/intents/app:intents to use the template as
an example of usage for this template.

Bug: none
Change-Id: I84314457f68267df40496073f1a64acbd188b3f0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5401693
Commit-Queue: Asami Doi <asamidoi@chromium.org>
Auto-Submit: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Asami Doi <asamidoi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1279549}
NOKEYCHECK=True
GitOrigin-RevId: b5915dbe93d2b3c55f7662a2421366b3b62f5ae8
3 files changed