Did a bit more code cleanup, some catches around user input for adding events, made functions for clearing the app el / events more explicit
Fixed the column/width calculation method so that events now won't overlap, but also won't fill the minimum column / maximum width available because all columns that are adjacent must have invariant width
Reconfigured the inputs and layout a bit