Several fixes and modernization

This includes 3 separate commits:

* Fix some build errors in build.gradle
  * The build.gradle file assumes that it is being used on the maintainer's machine and has access to the maintainer's `sonatypeRepo` configurations. This ignores the public-release upload task if the needed properties are not available.
* Simplify the Thumb attributes
  * There's really no need to have normal/pressed states of the image and color (in fact, with this change, the `thumbColor*` attributes aren't even really needed anymore). The "Android Way" of declaring normal/pressed drawables is to use a [`StateListDrawable`](http://developer.android.com/reference/android/graphics/drawable/StateListDrawable.html) via the `<selector/>` XML tag.
  * That allows the Thumb class to make use of a stateful `Drawable` object for drawing, instead of decoding a `Bitmap` (which won't even work at all if you use non-binary drawables, such as with a ShapeDrawable).
* Fix some px/dp scaling bugs
  * The classes incorrectly assume that all dimensions for the bar, tick height, etc, must be scaled for density;  but if the attribute was specified in the layout XML using the "dp" suffix, it has already been scaled!  This change uses a default of `-1` when the attribute is not specified, and only scales the value by the density factor **if** it was not specified in the XML (so it will scale the *default* dp values).

This is now a single `thumbImage` attribute, which should reference a drawable that **can** differentiate based on state (when `android:state_pressed="true"`).  That way it's a single drawable that encompasses both the normal and pressed states.