The Game Loops!

I implemented the game flow so that now when no bingos are left, the
BingoGUI closes and the shop window reappears. I did this by creating a
new thread to wait for the condition of no Bingos and once it has
received the signal that no bingos are left, it disposes of the
BingoGUI and dereferences the Bingo instance for Garbage Collection. To
test it I didn’t play the game forever winning Bingos I just
temporarily set the else on CallButtonMouseListener in PlayerCard to
call b.decrementBingos() and changed that method to set numberOfBingos
to zero instead of just decrementing it. It has all been placed back as
it was but you can use that method to test it out until we get the
Computers playing. Also, areBingosLeft has been removed in favor of
awaitNoBingosLeft since we really don’t need to know if no bingos are
left since the GUI is going to close when that happens anyway.