How can I pass an object as a parameter to a function?
You are doing everything right, but you need to move the class outside of your .ino file for this to work.  I'm not sure why the arduino IDE makes you do this  (see edit) , but it is something I've run into before.

I just tested this, and moving the class declaration outside the ino and into a header file in the project folder makes it compile correctly. Just remember to include the header you make in the ino and to #include "Arduino.h" in the header to get access to "String" again.

Technically, only a forward declaration of the class needs to be in a different file.

Edit:

I'm relatively sure what is happening is the IDE is generating forward declarations for all your functions but not the class, which are placed before your class definition. 
This means that breaking the function regex the IDE uses with a dummy "throw()" fixes your problem. for example:

void writeHighscore(Highscore hs) throw() { ...


should work just fine (it worked for me)