use sizeof(void*) instead of mrb_int size and extend embed string size
MSVC: fix C4146

C4146 (unary minus operator applied to unsigned type, result still
unsigned)
pool: use mrb_malloc_simple instead of mrb_malloc
Merge pull request #1830 from cremno/pool-fixes

two pool fixes
Merge pull request #1828 from take-cheeze/string_embed

Use sizeof(void*) instead of mrb_int size and extend embed string size.
Make type casts safer.
Add more warning detections