Change NN canonical timings to nanoseconds -- runtime

This CL changes the definition of nn::TimePoint to the same type as
std::chrono::steady_clock::time_point but has changed the underlying
duration representation to use uint64_t. This CL also renames
nn::OptionalTimeoutDuration to nn::OptionalDuration, and changes the
definition to the same type as std::nanoseconds except the underlying
duration representation now uses uint64_t.

Bug: 174297663
Test: mma
Test: NeuralNetworksTest_static
Change-Id: I7108aec3d068cf52a76bcfcffe8b958362a9844d
Merged-In: I7108aec3d068cf52a76bcfcffe8b958362a9844d
(cherry picked from commit a8ea3d2dc793c48592ce00cca597c62c2896a080)
24 files changed