Refactoring AlexNisnevich/Portfolio to use TypeScript, while maintaining current functionality

I'd love to use this Portfolio for my own projects, but I feel this could be made into a much more broad framework that other people could use as well. Breaking the core apart seems like it would be beneficial for everyone, I'll start on that next.