Merge make_exe.bat and setup.py

Now the setup automatically adds the necessary target to compile the
main file when no arguments are provided. This was the basic goal of the
.bat, so it can now be safely deleted.

Also updated the main file name from ui.pyw to main.pyw.
Implement auto-update

The biggest problem was replacing the exe with the new one downloaded.
Because the file gets locked while it is being executed, it's not just a
matter of deleting and renaming.

The current solution creates an intermediary process, update.bat, that
is detached from the main process. The update.bat then waits a second
for the main process to finish, swaps the executables and restarts the
updated version.

This is not very robust, though. For some reason it only works when the
stdout is redirected, and this creates a temporary file that can't be
deleted during program execution. Also, that second wait time makes me
afraid of race conditions.