Use mrb_intern2() instead of mrb_intern(). This is for avoiding overhead by strlen().
Make intern_gen() inline. This is enough tiny to be inlined.
Add an internal function intern_c(). It reduces function call parameter. For maintainability and performance.
Add new API mrb_intern_cstr(). This is for naming orthogonality. mrb_intern is also left for backward compatibility.
resolve conflict regarding backtick