Refactored code into Factorial class, defined Types.h file for cross platform basic data types.