fixes#1905
Added a new property to the Achievement interface to contain a list
of additional achievements that should be granted when an achievement's
conditional passes.
Right now this is only used to unlock the 4 hacknet node achieves
when the corresponding hacknet server achievement is awarded.
This branch also changes the calculateAchievements function so it
only runs the conditionals for achievements the player doesn't have,
instead of checking all of them and then filtering out the unowned.
- Add a script to generate achievement data from Steamworks API
- Add achievements page with a link in sidebar
- Calculate achievements (1/min) with an engine counter
- Store achievements with a timestamp on unlocked in the PlayerObject
- Add a script to generate monochrome icons from Steam icons
- Add toast when unlocking an achievement