Change SDK versions numbers to constants

In `@TargetApi` and when comparing against `SDK_INT`.
Also extract incompatible `ArrayDeque` creation to `Util`.
Prefer ``@TargetApi`` over ``@SuppressLint("NewApi")``