Linearly scale a value from its "position" in a source range to an equivalent value in a target range. Does not impose clamping within the range, that is, when input is outside the input range it will map to an appropriate value outside the output range.