use sizeof(void*) instead of mrb_int size and extend embed string size
support linenoise in mirb
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 #1829 from takkaw/mirb_linenoise

support linenoise in mirb
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.
fix #1823
add "?" specifier to check if preceding optional argument is given
implement Array#sample in mruby-random gem
refactoring mruby-random
add data_type check to mruby-random
use NAN and INFINITY

The macro str_to_mrb_float (strto[df]) converts a string to a number,
but these two macros can be used to directly get the special value.

The NAN macro requires quiet NaN support, but so does str_to_mrb_float.

This change also circumvents missing C99 support in Microsoft's C library.
Its (or ISO C90's) strtod doesn't parse "nan" or "inf".
MSVC: add NAN and INFINITY for older versions
Merge pull request #1832 from ksss/fix-1823

fix #1823
Merge pull request #1831 from monaka/pr-make-type-casts-safer

Make type casts safer
remove invocation of strlen() on buffer of strings; with refactoring
use mrb_str_cat_lit for literals
Merge pull request #1834 from cremno/use-nan-and-infinity-macros

use NAN and INFINITY macros