I just added initial framework-version to GitHub (commit).
I decided to reverse the lookup-table for percentage calculation and always use 1% resolution to make code simpler. If user wants less resolution it's easy to just calculate e.g. ReadPercentage() / 10 * 10 or even supply a custom lookup-table.
Also I think it would be better to not use special return values in CalculatePercentage and just return value from 0 to 100.