Add dark theme and implement switch between dark and light themes