Connection / power updating fixes

clean up / fix givingPower() method
drastically reduce checkConnections() method with the use of
connecting() method
add connection() method in Circuit.java to simplify tile connections
fix tile selection with mouse after using the num keys
fix Direction.opposite() method