Metal: Avoid leaking library and binary sources Fix leak of dispatch_data during binary load. The dispatch object was not released. Dispatch objects are Obj-C objects, so hold with AutoObjCPtr. Fix leak of MTLLibrary objects when creating the objects. The method newLibraryWithData returns +1 due to being "new" type method. This ref must be adopted. Avoid using autoreleased objects, use AutoObjCPtr. Some leaks regressed in c5ab1cebccaab0f8de466e5f797faa3d5a84bea5. Bug: angleproject:351165323 Change-Id: If23859fbddd21693d923f66f6fb015eed494f06e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011208 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>