Simplified breaking code into blocks

Changed from an ArrayList-based implementation to a Stack-based
implementation
Added KeywordDetector
Added capability to not require parameters
Split readFile into two separate methods
Removed unused code
Added new constructors
Enabled adding new code areas
Finished FileOpener
Added method to flip stacks, general cleanup
Changed parameter list
Started implementing rendering