fix: Discord Rich Presence Timer
The previous Discord Rich Presence implementation I committed had a logic flaw where the "time elapsed" timer would reset every 15 seconds. This was caused by the update loop continuously sending the current system time as the start timestamp for the activity.
- A new member variable was introduced to track the previous power state of the emulator (i.e., whether a game was running or not).
- The start timestamp is now only captured once at the beginning of a new state (e.g., when the emulator is first launched, when a game is started, or when a game is closed).
- A state transition is detected by comparing the current power state to the previously recorded state on each update. If they differ, the timestamp is reset.
- This persistent timestamp is then used for all subsequent presence updates within that state.