All the small packing tweaks mentioned in the bug.

BUG=skia:3144

Review URL: https://codereview.chromium.org/748063002
diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp
index 33d89d9..3252e59 100644
--- a/src/core/SkRecorder.cpp
+++ b/src/core/SkRecorder.cpp
@@ -152,7 +152,7 @@
                             size_t count,
                             const SkPoint pts[],
                             const SkPaint& paint) {
-    APPEND(DrawPoints, delay_copy(paint), mode, count, this->copy(pts, count));
+    APPEND(DrawPoints, delay_copy(paint), mode, SkToUInt(count), this->copy(pts, count));
 }
 
 void SkRecorder::drawRect(const SkRect& rect, const SkPaint& paint) {
@@ -192,8 +192,14 @@
                                       const SkRect& dst,
                                       const SkPaint* paint,
                                       DrawBitmapRectFlags flags) {
+    if (kBleed_DrawBitmapRectFlag == flags) {
+        APPEND(DrawBitmapRectToRectBleed,
+               this->copy(paint), delay_copy(bitmap), this->copy(src), dst);
+        return;
+    }
+    SkASSERT(kNone_DrawBitmapRectFlag == flags);
     APPEND(DrawBitmapRectToRect,
-           this->copy(paint), delay_copy(bitmap), this->copy(src), dst, flags);
+           this->copy(paint), delay_copy(bitmap), this->copy(src), dst);
 }
 
 void SkRecorder::drawBitmapMatrix(const SkBitmap& bitmap,
@@ -246,9 +252,9 @@
     APPEND(DrawPosTextH,
            delay_copy(paint),
            this->copy((const char*)text, byteLength),
-           byteLength,
-           this->copy(xpos, points),
-           constY);
+           SkToUInt(byteLength),
+           constY,
+           this->copy(xpos, points));
 }
 
 void SkRecorder::onDrawTextOnPath(const void* text, size_t byteLength, const SkPath& path,