Optimize and extract multiplication and division operations on Fixnum an...

- Directly return the original method call if argument is a Numeric: when performing millions of multiplication/division operations on Fixnum/Float, the many `Kernel#kind_of?` calls slow down performance dramatically.
- Replaced `#kind_of?` with `#is_a?`: benchmarking the two proves that the latter is slightly faster
- Extracted method definitions in a module