How is model flexibility measured or quantified? What units is it measured in? Came across a few plots in Chapter 2 of Introduction to Statistical Learning and saw that the x-axis on some measure model flexibility. However, the book doesn't seem to mention how model flexibility is actually measured, or what units it is measured in. 

 A: Many learning algorithms have hyperparameters that control what could could be described as model flexibility or complexity. The purpose of these hyperparameters is to control the bias/variance tradeoff (which that section of ESL explains). The x axis of the figure you posted is probably labeled "flexibility" because the figure is meant to illustrate the general phenomenon of how such hyperparameters affect bias, variance, and generalization performance (rather than being tied to the hyperparameters of a particular model, or a particular definition of complexity).
Greater flexibility corresponds to lower bias but higher variance. It allows fitting a wider variety of functions, but increases the risk of overfitting. Achieving good generalization performance requires finding hyperparameter values that achieve a good balance between bias and variance.
A: To expand on user20160's answer, there are a couple ways the complexity of a class of functions can be quantified. One of the more commonly used ones is the VC-Dimension. Essentially, the VC dimension of a function class is the number of points that can be perfectly classified by that function class. 
For example, lines in 2 dimensions can classify any 3 points correctly, but there exist some labelings of 4 points that cannot be classified by a line. So the set of all lines in 2 dimensions have a VC dimension of 3. In general, $p$ dimensional hyperplanes have VC dimension $p+1$. Furthermore, $d$-degree polynomials in $p$ dimensions have VC dimension $\binom{p+d}{d}$. There are even classifiers with infinite VC-dimension, such as $sin$ functions with one frequency parameter or a system of convex polygons. The higher the VC dimension is, the more flexible/complex the function class is. 
Another measure of complexity is the covering number.
