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).

Ideally, the `thumbColor*` variants would also be removed, in favor of using a drawable xml file the same way (i.e., using a shape drawable, as in:

```xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="@color/my_thumb_color" />
    <stroke
        android:width="1dp"
        android:color="@color/my_thumb_border_color" />
</shape>
```

which can then be included in a `<selector/>` tag just like `res/drawable/seek_thumb.xml` above.

As it is in this PR, the normal and pressed colors are still honored, and it simply generates a `StateListDrawable` that contains two `OvalShape` `ShapeDrawable`s, one for state_pressed=true, the other for state_pressed=false.  So the end result should still be identical.  These are simply left as a convenience (If you'd prefer they be removed in favor of a *single* `thumbDrawable` attribute, wherein the developer can have full control over what type of drawable (whether it's an image or a ShapeDrawable), I can make that change as well.