Good point Frob about the college graduates, I missed that in my haste. Myself (and I do allot of interviews) do not take GPA into my hiring decision. I have not seen the raw numbers from their data, but it mentiones only "slight correlation". I understand that is another data point, but in mine mind is just not enough and my bigger weighting point for interviewee is if they have any personal project which they can show. That part usually drives large portion of mine decision.
You do you care about it? Google used to be very bullish on GPA, and not that recently, HR head at Google done some studies and they found NO correlation between grades/GPA and how good the employees were. There also found out that asking quiz/gotcha questions on the interviews was also no prediction of future employee and only made interviewer feel smart.
My typing speed (and I am slow) never interferes with my programming, since typing speed is not really a gating factor. I spend far more time thinking about the problem, designing some new system, or debugging in IDE.
Quick glance at the code, you pass parameters by value specially std::string, you do not use const anywhere including marking methods which do not change state of an object. Those two things would be give me the impression that you are a junior.
For me is, why would you do any kind of cheat prevention for a single player game? If I want to "cheat" myself, why make it harder for me? Maybe some parts of the game are too hard and I am not willing to spend some hours of getting better at that part. IOW, I am not competing with anybody else and I play games for my own enjoyment and not somebody else.
I have used cef toolkit (https://bitbucket.org/chromiumembedded/cef) before and with some good results (not the easiest library to work with). There also couple or so derived projects from it that may be better solution, do not remember from top of my head, but I'm sure google will find it for you.
Since you already using EU4, I would use Blueprints to at least a prototype. It seems that your project would fit well in BP and they are pretty powerful and you can do a lot. For any harder problems or performance issues, you can always step into C++.
My approach lately has been to use google proto buffers for saving and loading to and from disk, and then actually create sqlite db in memory to represent that data during run time, and rest of the system then deals only with that database. By using sqlite for data representation, it gave me quite bit of flexibility and it seems easier to deal with changes. In most case it usually only required small adjustment to query as the needs grew or changed. The actual conversion to and from proto buffers is contain only in one file. And to top it off, by using sqlite (mostly as intermediate format here), it allowed me to add more verification and validation by using sqlite language, like constraints, triggers, etc, so data become even more validate with almost no work on my end.