Fixed nested suite bug and broke out html into components

Fixed bug where root level suites with two levels of nested suites were
able to be nested which caused data loss.

broke out html into components to simplify html code.