improve getString performance 4X

before 
![image](https://cloud.githubusercontent.com/assets/156269/2943507/fa5f41ae-d9c4-11e3-89ab-0f0ae7a7b4de.png)

after

```
// node version: v0.11.12, date: Mon May 12 2014 19:00:16 GMT+0800 (CST)
// Starting...
// 14 tests completed.
//
// get(0, 1) => slice    x  2,632,680 ops/sec ±4.31% (87 runs sampled)
// get(0) => byte        x 41,925,551 ops/sec ±1.25% (95 runs sampled)
// get() => byte         x 15,803,259 ops/sec ±3.35% (88 runs sampled)
// getChar(0)            x 39,863,065 ops/sec ±6.93% (78 runs sampled)
// getShort(0)           x 25,271,617 ops/sec ±3.89% (83 runs sampled)
// getInt(0)             x 25,692,849 ops/sec ±3.25% (94 runs sampled)
// getFloat(0)           x 10,771,179 ops/sec ±1.62% (93 runs sampled)
// getDouble(0)          x 12,165,312 ops/sec ±4.28% (90 runs sampled)
// getLong(0)            x 11,782,216 ops/sec ±1.20% (94 runs sampled)
// getString(0)          x  2,603,237 ops/sec ±3.30% (84 runs sampled)
// getCString(0)         x  1,626,756 ops/sec ±8.48% (74 runs sampled)
// readRawString(4, 100) x  5,811,111 ops/sec ±1.35% (94 runs sampled)
// readRawString(100)    x  5,239,786 ops/sec ±1.23% (97 runs sampled)
// getRawString(0, 100)  x  5,453,482 ops/sec ±1.90% (93 runs sampled)
```