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
Merged-In: I39d63aa54b1c6606e5820e0f65c8e9ccb83bae45
(cherry picked from commit 2f2d89b6ceb901041b8c978c840effe112635ffd)
4 files changed