Fix a memory leak in mirb

There is a memory leak of mrb_parser_state in mirb.

## current
```bash
$ valgrind --leak-check=summary bin/mirb
==47555== Memcheck, a memory error detector
==47555== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==47555== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==47555== Command: bin/mirb
==47555==
--47555-- bin/mirb:
--47555-- dSYM directory is missing; consider using --dsymutil=yes
mirb - Embeddable Interactive Ruby Shell

This is a very early version, please test and report errors.
Thanks :)

> def foo
* end
 => nil
> exit
==47555==
==47555== HEAP SUMMARY:
==47555==     in use at exit: 26,298 bytes in 36 blocks
==47555==   total heap usage: 1,716 allocs, 1,680 frees, 259,079 bytes allocated
==47555==
==47555== LEAK SUMMARY:
==47555==    definitely lost: 16 bytes in 1 blocks
==47555==    indirectly lost: 16,032 bytes in 1 blocks
==47555==      possibly lost: 0 bytes in 0 blocks
==47555==    still reachable: 10,250 bytes in 34 blocks
==47555==         suppressed: 0 bytes in 0 blocks
==47555== Rerun with --leak-check=full to see details of leaked memory
==47555==
==47555== For counts of detected and suppressed errors, rerun with: -v
==47555== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
```

## fixed
```bash
$ valgrind --leak-check=summary bin/mirb
==47576== Memcheck, a memory error detector
==47576== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==47576== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==47576== Command: bin/mirb
==47576==
--47576-- bin/mirb:
--47576-- dSYM directory is missing; consider using --dsymutil=yes
mirb - Embeddable Interactive Ruby Shell

This is a very early version, please test and report errors.
Thanks :)

> def foo
* end
 => nil
> exit
==47576==
==47576== HEAP SUMMARY:
==47576==     in use at exit: 10,250 bytes in 34 blocks
==47576==   total heap usage: 1,716 allocs, 1,682 frees, 259,079 bytes allocated
==47576==
==47576== LEAK SUMMARY:
==47576==    definitely lost: 0 bytes in 0 blocks
==47576==    indirectly lost: 0 bytes in 0 blocks
==47576==      possibly lost: 0 bytes in 0 blocks
==47576==    still reachable: 10,250 bytes in 34 blocks
==47576==         suppressed: 0 bytes in 0 blocks
==47576== Rerun with --leak-check=full to see details of leaked memory
==47576==
==47576== For counts of detected and suppressed errors, rerun with: -v
==47576== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
```