fixed resize function, bug fixes, optimizations

started dividing up the code from the viewModel into smaller components
for maintainability, and made calendar resize both horizontally and
vertically based on window size