Support subpixel values for text-shadow and box-shadow

This converts the int members of ShadowData to LayoutUnit and chases
them through the callstack. The actual calls on the context were already
using float.

There are two caveats:
- When border-radius is used, we don't support subpixel spread values. Subpixel blurs and offsets are still supported
- For inset shadows, we don't support subpixel values

Both limitations come from RoundedRect only supporting integer values.

R=leviw@chromium.org
BUG=

Review URL: https://codereview.chromium.org/23241010

git-svn-id: svn://svn.chromium.org/blink/trunk@165173 bbb929c8-8fbe-4397-9dbb-9b2b20218538