Remove singleton SensorTag

REQ sockets are created in every function that needs to
access the SensorTag. Since the state is maintined in the BT GATT
daemon, we don't need to use singleton anymore. However, when the
page is refreshed, we get new SensorTag objects, and the threads
are starting up again. We need a way to make sure that the same
Thread is not started with the same arguments.
Global dict for storing threads

Each "thread" is only launched once. When you call it again
the global dict realizes that this is already running, and
doesn't run it again. However, this doesn't fix the GUI issue, since
the thread is connected to the previous widget, not the one that has
just been displayed. It therefore updates the old widget, and the
new one is not updated.
Restart threads for new widgets

Since after a refresh, new widgets must be created, the old threads
continue updating the old widgets. Now, if we see that threads are
running, we stop the previous ones, and start new ones to update the new
widgets.
Merge branch 'page_reload_fix'

When the page refreshes, we run each thread again, and connect them to the new widgets.
This way, the look of the page is more or less preserved across refreshes.