Add Quality of Service to the NNAPI

This CL introduces new enumerations and functions to enable
prioritization and task deadlines in the NNAPI. This CL does not
implement the new functions; instead, this is done in a
subsequent CL in this topic.

New ResultCodes values:
* ANEURALNETWORKS_MISSED_DEADLINE_TRANSIENT
* ANEURALNETWORKS_MISSED_DEADLINE_PERSISTENT
* ANEURALNETWORKS_RESOURCE_EXHAUSTED_TRANSIENT
* ANEURALNETWORKS_RESOURCE_EXHAUSTED_PERSISTENT
* ANEURALNETWORKS_DEAD_OBJECT

New Priority enumeration:
* PriorityCode
* ANEURALNETWORKS_PRIORITY_*

New functions:
* ANeuralNetworksDevice_supportsCompilationTimeout
* ANeuralNetworksDevice_supportsExecutionTimeout
* ANeuralNetworksDevice_wait
* ANeuralNetworksCompilation_setPriority
* ANeuralNetworksCompilation_setTimeout
* ANeuralNetworksExecution_setTimeout

The CTS tests are added in a subsequent CL in this topic
titled "Create CTS tests for QoS in NNAPI".

Bug: 136739795
Bug: 142902514
Bug: 145300530
Test: mma
Change-Id: I39d63aa54b1c6606e5820e0f65c8e9ccb83bae45
4 files changed