Since CancellationSignal is not guaranteed to be handled by remote
process, introduce threaded font loading mechanism.
At the same time, this fixes possible NPE issue in openFont.
Bug: 37552479
Test: am instrument -w -e class android.provider.FontsContractE2ETest
com.android.frameworks.coretests/\
android.support.test.runner.AndroidJUnitRunner
Change-Id: Ie235c5a57bd172b0882da5aa27a990d7c6686ff2