Hallo,
mit History.js kannst du erst einmal nur die angezeigte URL ändern und Einträge in der Browser-History erzeugen.
Wie du das grundsätzlich nutzt, steht ja in der README:
https://github.com/balupton/History.js/#usage
Einfachste Nutzungsart:
History.pushState(null, null, "irgendeineURL");
Das löst aber nur ein Teilproblem, was du vorhast, ist viel mehr. Du müsstest alle Klicks auf Links abfangen, die zugehörige URL im Hintergrund laden, das HTML extrahieren und ins aktuelle Dokument einfügen. Beim statechange-Event (wenn der Back-Button verwendet wird) müsstest du dasselbe mit der neuen URL tun. Was du vorhast, erinnert mehr an pjax und Turbolinks.
So einfach wird das also nicht. Sowohl das HTML, das CSS als auch JavaScripte müssen angepasst werden, damit das Laden und Einfügen über Ajax möglich ist. Und die oben beschrieben JavaScript-Logik musst du dir wahrscheinlich selbst schreiben. Single-Page-Applications in JavaScript besitzen meist schon eine solche Logik, z.B. Frameworks, die auf Backbone.js aufsetzen. Ich weiß aber nicht, ob das in deinem Fall den Aufwand wert ist.
Mathias